package com.zhijian.medical.entity.vo.response;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 登录回应vo
 *
 * @author HCG
 * @version 1.0
 * @date 2021/7/7
 */
@Api(tags = "登录回应vo")
@Data
@Builder
public class AuthVo implements Serializable {
    private static final long serialVersionUID = 3553599765494963801L;

    /**
     * token
     */
    @ApiModelProperty("token")
    private String token;

    /**
     * 登录的用户信息
     */
    @ApiModelProperty("登录的用户信息")
    private UserDetailVo user;

    /**
     * 用户对应菜单
     */
    @ApiModelProperty("用户对应菜单")
    private List<MenuVo> menuVos;

    /**
     * 用户信息
     */
    @Api(tags = "用户信息")
    @Data
    @Builder
    public static class UserDetailVo implements Serializable {

        private static final long serialVersionUID = -548924276998682544L;

        /**
         * id
         */
        @ApiModelProperty("id")
        private Long id;

        /**
         * 姓名
         */
        @ApiModelProperty("姓名")
        private String name;

        /**
         * 手机号
         */
        @ApiModelProperty("手机号")
        private String phone;

        /**
         * 工号
         */
        @ApiModelProperty("工号")
        private String jobNumber;

        /**
         * 角色ID
         */
        @ApiModelProperty("角色ID")
        private Long roleId;

        /**
         * 角色ID数组
         */
        @ApiModelProperty("角色ID数组")
        private List<Long> roleIds;

        /**
         * 部门id数组
         */
        @ApiModelProperty("部门id数组")
        private List<Long> groupIds;

        /**
         * 能力
         */
        @ApiModelProperty("能力")
        private List<String> ability;

        /**
         * 是否是专项培训人员，1：是，0或者空：否
         */
        @ApiModelProperty("是否是专项培训人员，1：是，0或者空：否")
        private Integer weatherZxpx;

    }

}
